# 题目 1
#numbers = [1, 2, 3, 4, 5]
# TODO: 使用 map 和 lambda，对 numbers 中的每个数字求平方，返回结果列表
# 目标输出: [1, 4, 9, 16, 25]
def Question1():
    numbers=[1,2,3,4,5,6,7,8,9]
    return list(map(lambda x:x**2,numbers))
    return numbers

# 题目 2
#numbers = [10, 15, 20, 25, 30, 35]
# TODO: 使用 filter 和 lambda，筛选出所有偶数
# 目标输出: [10, 20, 30]
def Question2():
    numbers=[1,2,3,4,5,6,7,8,9]
    filter(lambda x:x%2==0,numbers)
    return numbers

# 题目 3
#words = ["hello", "world", "python", "ai"]
# TODO: 使用 map 和 lambda，将每个字符串转为大写
# 目标输出: ['HELLO', 'WORLD', 'PYTHON', 'AI']
def Question3():
    wrods=["hello", "world", "python", "ai"]
    map(lambda x:x.upper(),wrods)
    return wrods

# 题目 4
#words = ["apple", "", "banana", "", "cherry"]
# TODO: 使用 filter 和 lambda，筛选出非空字符串
# 或者使用 filter(None, words) 的方式
# 目标输出: ['apple', 'banana', 'cherry']
def Question4():
    words = ["apple", "", "banana", "", "cherry"]
    filter(lambda x:len(x)>0,words)
    return words
# 题目 5
#numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# TODO: 先使用 filter 筛选偶数，再用 map 对偶数进行平方
# 目标输出: [4, 16, 36, 64, 100]
def Question5():
    numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
    numbers2=list(filter(lambda x:x%2==0,numbers))
    print(numbers2)
    list3=map(lambda x:x**2,numbers2)
    print(list(list3))
    return numbers2


# 题目：有一个用户列表，每个用户是一个字典，包含 'name' 和 'age'。
# 要求：使用 filter + lambda，筛选出年龄大于 18 且名字长度不超过 4 的用户，返回筛选后的列表。
# TODO: 用 filter + lambda 筛选 age > 18 且 len(name) <= 4
# 目标输出示例: [{'name': 'Tom', 'age': 20}, {'name': 'Eve', 'age': 19}]
def Question6():
    users = [
        {'name': 'Tom', 'age': 20},
        {'name': 'Jerry', 'age': 17},
        {'name': 'Amy', 'age': 22},
        {'name': 'Bob', 'age': 15},
        {'name': 'Eve', 'age': 19}
    ]
    filtered = list(filter(lambda u: u['age'] > 18 and len(u['name']) <= 4, users))
    return filtered


# 题目：有一个字符串列表，每个元素是 "姓名-年龄" 格式，如 'Alice-23'。
# 要求：使用 map + lambda，将每个字符串拆分为姓名和年龄，转换为字典列表，
# 如 [{'name': 'Alice', 'age': 23}, ...]
# TODO: 用 map + lambda，分割字符串并构造字典
# 目标输出: [
# {'name': 'Alice', 'age': 23},
# {'name': 'Bob', 'age': 30},
# {'name': 'Cathy', 'age': 25}]
def Question7():
    data = ['Alice-23', 'Bob-30', 'Cathy-25']














if __name__ == '__main__':
    print(Question1())
    print(Question2())
    print(Question3())
    print(Question4())
    print(Question5())
    print(Question6())